package com.zkthink.ceres.member.dto;

import com.zkthink.base.entity.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

/**
 * <p>
 * 实体类 商城会员收货地址
 * </p>
 *
 * @author kellen
 * @since 2020-05-04
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "MemberAddressUpdateDTO", description = "商城会员收货地址")
public class MemberAddressUpdateDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  @ApiModelProperty(value = "主键")
  @NotNull(message = "id不能为空", groups = SuperEntity.Update.class)
  private Long id;

  /**
   * 收货人姓名
   */
  @ApiModelProperty(value = "收货人姓名")
  @Length(max = 20, message = "收货人姓名长度不能超过20")
  private String username;
  /**
   * 收货手机号
   */
  @ApiModelProperty(value = "收货手机号")
  @Length(max = 16, message = "收货手机号长度不能超过16")
  private String phone;
  /**
   * 收货地址省份
   */
  @ApiModelProperty(value = "收货地址省份")
  @Length(max = 50, message = "收货地址省份长度不能超过50")
  private String province;
  /**
   * 收货地址城市
   */
  @ApiModelProperty(value = "收货地址城市")
  @Length(max = 50, message = "收货地址城市长度不能超过50")
  private String city;
  /**
   * 收货地址区域
   */
  @ApiModelProperty(value = "收货地址区域")
  @Length(max = 255, message = "收货地址区域长度不能超过255")
  private String area;
  /**
   * 地址标签
   */
  @ApiModelProperty(value = "地址标签")
  @Length(max = 32, message = "地址标签长度不能超过32")
  private String tag;
  /**
   * 城市信息
   */
  @ApiModelProperty(value = "城市信息")
  @Length(max = 200, message = "城市信息长度不能超过200")
  private String cityInfo;
  /**
   * 收货详细地址
   */
  @ApiModelProperty(value = "收货详细地址")
  @Length(max = 255, message = "收货详细地址长度不能超过255")
  private String address;
  /**
   * 默认收货地址(0否 1是)
   */
  @ApiModelProperty(value = "默认收货地址(0否 1是)")
  private Boolean isDefault;
}
